<%@ page contentType="text/html; charset=UTF-8"%>

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="static/jquery.min.js"></script>

</head>

<body>
	摇一摇
</body>
<script type="text/javascript"> 
  //cover设置背景尺寸 
  //将背景图按所在标签的宽高，缩放 
  document.body.style.backgroundSize = "cover"; 
  //设置body的背景图 
 // document.body.style.backgroundImage = "url(img/bg.gif)" ; 
  //事件设备：触发该事件需要硬件支持 
  //摇一摇功能： 
  //1.手机中的陀螺仪加速两次 加速器的差值当达到某个值时，则认为是手机晃动事件 
  //2.设置手机晃动事件前，获取加速器的值 
  //3.添加手机晃动事件;     
  //获取手机晃动前加速器的值,创建一个对象获取 
  var currentValue = { 
   x : 0, 
   y : 0, 
   z : 0 
  }; 
  //获取手机晃动之后加速器的值,创建一个对象获取 
  var lastValue = { 
   x : 0, 
   y : 0, 
   z : 0 
  } 
  //设置晃动的最小的距离，只有达到该距离时，才执行摇一摇事件 
  var minValue = 20; 
  //当手机触发摇一摇事件时，我们得到此时的位置信息，存储到一个p标签上 
  //理论上讲：陀螺仪事件中的加速器是无法静止的; 
  var p1 = document.createElement("p"); 
  //第一种方式： 
  var img1 = document.createElement("img"); 
  img1.src = "img/"+1+".jpg"; 
  img1.style.width = "100%"; 
  img1.style.height = "100%"; 
  //手机晃动事件 
  window.ondevicemotion = function(e){ 
   //获取对象 
   var event1 = event || e; 
   //获取加速器对象，为了获取陀螺仪上的坐标信息 
   var acceleration = event1.accelerationIncludingGravity; 
   //记录当前加速器的值 
   currentValue.x = acceleration.x; 
   currentValue.y = acceleration.y; 
   currentValue.z = acceleration.z; 
   //判断微信摇一摇事件（手机是否晃动） 
   if (Math.abs(currentValue.x - lastValue.x) >= minValue || Math.abs(currentValue.y - lastValue.y) > minValue || Math.abs(currentValue.z - lastValue.z) > minValue) { 
    //说明摇一摇事件触发 
    //实现微信摇一摇，可以将摇一摇中的图片，作为body的背景图 
    //随机一张图片的下标（1 - 5） 
    var ranN=Math.floor(Math.random()*7);
    //创一个定时器 
    var timer = setInterval(function(){ 
     ranN ++ 
     if (ranN == 7) { 
      ranN = 1; 
     } 
     //为当前的body设置背景图 
     //document.body.style.backgroundImage = "url(img/"+ranN+".jpg)"; 
     //为当前img设置路径 
   
        img1.src = "img/"+ranN+".jpg";
     
        setTimeout(function(){
  		  var supportsVibrate = "vibrate" in navigator;
  		  if(supportsVibrate){
  		  	navigator.vibrate(100);
  		  }
  	    },1000);

    },200); 
    //设置一个延时器，延时一段时间后消除延时器 
    setTimeout(function(){ 
     clearInterval(timer); 
    },1000); 
   } 
   //记录最后的值（保存上一次晃动事件中的加速器的值） 
   lastValue.x = currentValue.x; 
   lastValue.y = currentValue.y; 
   lastValue.z = currentValue.z; 
  } 
  document.body.appendChild(img1); 
  
 </script> 
</html>